<?php


/**
 * Klasa do obsługi obiektów filtrów
 * 
 * Odpowiedzialna m.in. za pozyskiwanie wszystkich filtrów
 * oraz zarządzanie nimi
 *  
 * @author strange3studio
 *
 */
class GcFilters {
  private $filters = array();
  private $activeFilters = array();
  
  // pozyskujemy wszystkie instancje filtrów aktywowanych w sklepie
  private function initializeFilters() {
    $this->filters =  module_invoke_all('gc_filter_objects');
  } 
   
  private function prepareActiveFilters() {
    
    foreach($this->filters as $filter) {
      // szukamy w ścieżce aktywnych filtrów
      if ($filter->isActive()) {
        $this->activeFilters[] =  $filter;
      }
    }
    
  }
  
  public function __construct() {
     $this->initializeFilters();
     $this->prepareActiveFilters(); 
  }
  
  public function getActiveFilters() {    
    return $this->activeFilters;
  }  
  
}